[INFO] fetching crate parse-js 0.20.0...
[INFO] checking parse-js-0.20.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate parse-js 0.20.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate parse-js 0.20.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate parse-js 0.20.0
[INFO] finished tweaking crates.io crate parse-js 0.20.0
[INFO] tweaked toml for crates.io crate parse-js 0.20.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d28d52a99bea02bdf4f74af103cb0677e97fea1193d20f5e1d5d4aa6fd97b89e
[INFO] running `Command { std: "docker" "start" "-a" "d28d52a99bea02bdf4f74af103cb0677e97fea1193d20f5e1d5d4aa6fd97b89e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d28d52a99bea02bdf4f74af103cb0677e97fea1193d20f5e1d5d4aa6fd97b89e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d28d52a99bea02bdf4f74af103cb0677e97fea1193d20f5e1d5d4aa6fd97b89e", kill_on_drop: false }`
[INFO] [stdout] d28d52a99bea02bdf4f74af103cb0677e97fea1193d20f5e1d5d4aa6fd97b89e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c74ed60858b87d67b24ab48cc3b8c74a06339b32b69c7a8e6e1c0a90538668b9
[INFO] running `Command { std: "docker" "start" "-a" "c74ed60858b87d67b24ab48cc3b8c74a06339b32b69c7a8e6e1c0a90538668b9", kill_on_drop: false }`
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking bumpalo v3.15.3
[INFO] [stderr]     Checking similar v2.4.0
[INFO] [stderr]     Checking aho-corasick v0.7.20
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking parse-js v0.20.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]  --> src/util/test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::to_string_pretty;
[INFO] [stdout]   |     ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]  --> src/util/test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/parse/tests/expr/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json::Value;
[INFO] [stdout]    |     ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/parse/tests/stmt/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde_json::Value;
[INFO] [stdout]    |     ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::pattern::is_valid_pattern_identifier`
[INFO] [stdout]  --> src/parse/literal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::pattern::is_valid_pattern_identifier;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::ClassOrObjectMemberKey`
[INFO] [stdout]  --> src/parse/literal.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ast::ClassOrObjectMemberKey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::operator::OperatorName`
[INFO] [stdout]   --> src/visit.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::operator::OperatorName;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::pattern::is_valid_pattern_identifier`
[INFO] [stdout]  --> src/parse/literal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::pattern::is_valid_pattern_identifier;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::ClassOrObjectMemberKey`
[INFO] [stdout]  --> src/parse/literal.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ast::ClassOrObjectMemberKey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::operator::OperatorName`
[INFO] [stdout]   --> src/visit.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::operator::OperatorName;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> src/parse/tests/expr/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   serde_json::to_value(&node).unwrap()
[INFO] [stdout]    |   ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> src/parse/tests/stmt/mod.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 |   serde_json::to_value(&node).unwrap()
[INFO] [stdout]    |   ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> src/util/test.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |           let expected: Value = serde_json::from_reader(
[INFO] [stdout]    |                                 ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]   --> src/flag.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |   pub const fn from_raw(raw: u64) -> Self {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]   --> src/flag.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |   pub const fn from_raw(raw: u64) -> Self {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parse/stmt.rs:439:9
[INFO] [stdout]     |
[INFO] [stdout] 439 |     let mut flags = (consequent.flags | end.flags).select(NODE_FLAG_UNCONDITIONAL_FLOWS);
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parse/stmt.rs:439:9
[INFO] [stdout]     |
[INFO] [stdout] 439 |     let mut flags = (consequent.flags | end.flags).select(NODE_FLAG_UNCONDITIONAL_FLOWS);
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/visit.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |   fn on_syntax_down(&mut self, node: &mut NodeData<'a>, ctl: &mut JourneyControls) -> () {}
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctl`
[INFO] [stdout]   --> src/visit.rs:27:57
[INFO] [stdout]    |
[INFO] [stdout] 27 |   fn on_syntax_down(&mut self, node: &mut NodeData<'a>, ctl: &mut JourneyControls) -> () {}
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/visit.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |   fn on_syntax_up(&mut self, node: &mut NodeData<'a>) -> () {}
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `through_char` and `while_not_char` are never used
[INFO] [stdout]    --> src/lex/mod.rs:153:6
[INFO] [stdout]     |
[INFO] [stdout] 74  | impl<'a> Lexer<'a> {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   fn through_char(&self, c: u8) -> SyntaxResult<'a, Match> {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |   fn while_not_char(&self, a: u8) -> Match {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `MaybeToken` that must be used
[INFO] [stdout]   --> src/parse/class_or_object.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 |       self.consume_if(TokenType::Semicolon)?;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |       let _ = self.consume_if(TokenType::Semicolon)?;
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/visit.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |   fn on_syntax_down(&mut self, node: &mut NodeData<'a>, ctl: &mut JourneyControls) -> () {}
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctl`
[INFO] [stdout]   --> src/visit.rs:27:57
[INFO] [stdout]    |
[INFO] [stdout] 27 |   fn on_syntax_down(&mut self, node: &mut NodeData<'a>, ctl: &mut JourneyControls) -> () {}
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/visit.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |   fn on_syntax_up(&mut self, node: &mut NodeData<'a>) -> () {}
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `MaybeToken` that must be used
[INFO] [stdout]    --> src/parse/stmt.rs:614:5
[INFO] [stdout]     |
[INFO] [stdout] 614 |     self.consume_if(TokenType::Semicolon)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 614 |     let _ = self.consume_if(TokenType::Semicolon)?;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parse-js` (lib test) due to 8 previous errors; 8 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "c74ed60858b87d67b24ab48cc3b8c74a06339b32b69c7a8e6e1c0a90538668b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c74ed60858b87d67b24ab48cc3b8c74a06339b32b69c7a8e6e1c0a90538668b9", kill_on_drop: false }`
[INFO] [stdout] c74ed60858b87d67b24ab48cc3b8c74a06339b32b69c7a8e6e1c0a90538668b9
[INFO] checking parse-js-0.20.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate parse-js 0.20.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate parse-js 0.20.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate parse-js 0.20.0
[INFO] finished tweaking crates.io crate parse-js 0.20.0
[INFO] tweaked toml for crates.io crate parse-js 0.20.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e384c5430e49b8c4c77bbc95a6d6a7a05ba931cb4e541752f4452791b96041b4
[INFO] running `Command { std: "docker" "start" "-a" "e384c5430e49b8c4c77bbc95a6d6a7a05ba931cb4e541752f4452791b96041b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e384c5430e49b8c4c77bbc95a6d6a7a05ba931cb4e541752f4452791b96041b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e384c5430e49b8c4c77bbc95a6d6a7a05ba931cb4e541752f4452791b96041b4", kill_on_drop: false }`
[INFO] [stdout] e384c5430e49b8c4c77bbc95a6d6a7a05ba931cb4e541752f4452791b96041b4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1beae1d202bf4d31bd212325698889917296bf77687ca0241ad2ef34d8ceb666
[INFO] running `Command { std: "docker" "start" "-a" "1beae1d202bf4d31bd212325698889917296bf77687ca0241ad2ef34d8ceb666", kill_on_drop: false }`
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking bumpalo v3.15.3
[INFO] [stderr]     Checking similar v2.4.0
[INFO] [stderr]     Checking aho-corasick v0.7.20
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking parse-js v0.20.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]  --> src/util/test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::to_string_pretty;
[INFO] [stdout]   |     ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]  --> src/util/test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/parse/tests/expr/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json::Value;
[INFO] [stdout]    |     ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde_json`
[INFO] [stdout]   --> src/parse/tests/stmt/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde_json::Value;
[INFO] [stdout]    |     ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/char.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |     for i in 0..256 {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |         filter.add_chars(b'0'..=b'9');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:73:26
[INFO] [stdout]    |
[INFO] [stdout] 73 |         filter.add_chars(b'0'..=b'1');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:79:26
[INFO] [stdout]    |
[INFO] [stdout] 79 |         filter.add_chars(b'0'..=b'9');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:80:26
[INFO] [stdout]    |
[INFO] [stdout] 80 |         filter.add_chars(b'a'..=b'f');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:81:26
[INFO] [stdout]    |
[INFO] [stdout] 81 |         filter.add_chars(b'A'..=b'F');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |         filter.add_chars(b'0'..=b'8');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/char.rs:100:26
[INFO] [stdout]     |
[INFO] [stdout] 100 |         filter.add_chars(b'0'..=b'9');
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 146 |     memchr(c, &self.source[self.next..])
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:154:28
[INFO] [stdout]     |
[INFO] [stdout] 154 |     memchr(c, &self.source[self.next..])
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:161:35
[INFO] [stdout]     |
[INFO] [stdout] 161 |       len: memchr(a, &self.source[self.next..]).unwrap_or(self.remaining()),
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:167:39
[INFO] [stdout]     |
[INFO] [stdout] 167 |       len: memchr2(a, b, &self.source[self.next..]).unwrap_or(self.remaining()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:173:42
[INFO] [stdout]     |
[INFO] [stdout] 173 |       len: memchr3(a, b, c, &self.source[self.next..]).unwrap_or(self.remaining()),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:186:26
[INFO] [stdout]     |
[INFO] [stdout] 186 |     ac.find(&self.source[self.next..])
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 |     &self.source[index.start()..index.end()]
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |     &self.source[self.next - index.len..self.next]
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::pattern::is_valid_pattern_identifier`
[INFO] [stdout]  --> src/parse/literal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::pattern::is_valid_pattern_identifier;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::ClassOrObjectMemberKey`
[INFO] [stdout]  --> src/parse/literal.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ast::ClassOrObjectMemberKey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/literal.rs:27:71
[INFO] [stdout]    |
[INFO] [stdout] 27 |     s if s.starts_with("0b") || s.starts_with("0B") => parse_radix(&s[2..], 2),
[INFO] [stdout]    |                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/literal.rs:28:71
[INFO] [stdout]    |
[INFO] [stdout] 28 |     s if s.starts_with("0o") || s.starts_with("0o") => parse_radix(&s[2..], 8),
[INFO] [stdout]    |                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/literal.rs:29:71
[INFO] [stdout]    |
[INFO] [stdout] 29 |     s if s.starts_with("0x") || s.starts_with("0X") => parse_radix(&s[2..], 16),
[INFO] [stdout]    |                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/literal.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |     raw = &raw[escape_pos + 1..];
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parse/literal.rs:93:65
[INFO] [stdout]    |
[INFO] [stdout] 93 |           u32::from_str_radix(unsafe { from_utf8_unchecked(&raw[1..3]) }, 16).unwrap(),
[INFO] [stdout]    |                                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parse/literal.rs:109:67
[INFO] [stdout]     |
[INFO] [stdout] 109 |             u32::from_str_radix(unsafe { from_utf8_unchecked(&raw[2..end_pos]) }, 16).ok()?;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parse/literal.rs:119:74
[INFO] [stdout]     |
[INFO] [stdout] 119 |           let cp = u32::from_str_radix(unsafe { from_utf8_unchecked(&raw[1..5]) }, 16).ok()?;
[INFO] [stdout]     |                                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parse/literal.rs:134:16
[INFO] [stdout]     |
[INFO] [stdout] 134 |     raw = &raw[skip..];
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parse/literal.rs:145:67
[INFO] [stdout]     |
[INFO] [stdout] 145 |   normalise_literal_string_or_template_inner(ctx, &raw.as_slice()[1..raw.len() - 1])
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::operator::OperatorName`
[INFO] [stdout]   --> src/visit.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::operator::OperatorName;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/char.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |     for i in 0..256 {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |         filter.add_chars(b'0'..=b'9');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:73:26
[INFO] [stdout]    |
[INFO] [stdout] 73 |         filter.add_chars(b'0'..=b'1');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:79:26
[INFO] [stdout]    |
[INFO] [stdout] 79 |         filter.add_chars(b'0'..=b'9');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:80:26
[INFO] [stdout]    |
[INFO] [stdout] 80 |         filter.add_chars(b'a'..=b'f');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:81:26
[INFO] [stdout]    |
[INFO] [stdout] 81 |         filter.add_chars(b'A'..=b'F');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/char.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |         filter.add_chars(b'0'..=b'8');
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/char.rs:100:26
[INFO] [stdout]     |
[INFO] [stdout] 100 |         filter.add_chars(b'0'..=b'9');
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 146 |     memchr(c, &self.source[self.next..])
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:154:28
[INFO] [stdout]     |
[INFO] [stdout] 154 |     memchr(c, &self.source[self.next..])
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:161:35
[INFO] [stdout]     |
[INFO] [stdout] 161 |       len: memchr(a, &self.source[self.next..]).unwrap_or(self.remaining()),
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:167:39
[INFO] [stdout]     |
[INFO] [stdout] 167 |       len: memchr2(a, b, &self.source[self.next..]).unwrap_or(self.remaining()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:173:42
[INFO] [stdout]     |
[INFO] [stdout] 173 |       len: memchr3(a, b, c, &self.source[self.next..]).unwrap_or(self.remaining()),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:186:26
[INFO] [stdout]     |
[INFO] [stdout] 186 |     ac.find(&self.source[self.next..])
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 |     &self.source[index.start()..index.end()]
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lex/mod.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |     &self.source[self.next - index.len..self.next]
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::pattern::is_valid_pattern_identifier`
[INFO] [stdout]  --> src/parse/literal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::pattern::is_valid_pattern_identifier;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::ClassOrObjectMemberKey`
[INFO] [stdout]  --> src/parse/literal.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ast::ClassOrObjectMemberKey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/literal.rs:27:71
[INFO] [stdout]    |
[INFO] [stdout] 27 |     s if s.starts_with("0b") || s.starts_with("0B") => parse_radix(&s[2..], 2),
[INFO] [stdout]    |                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/literal.rs:28:71
[INFO] [stdout]    |
[INFO] [stdout] 28 |     s if s.starts_with("0o") || s.starts_with("0o") => parse_radix(&s[2..], 8),
[INFO] [stdout]    |                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/literal.rs:29:71
[INFO] [stdout]    |
[INFO] [stdout] 29 |     s if s.starts_with("0x") || s.starts_with("0X") => parse_radix(&s[2..], 16),
[INFO] [stdout]    |                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parse/literal.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |     raw = &raw[escape_pos + 1..];
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parse/literal.rs:93:65
[INFO] [stdout]    |
[INFO] [stdout] 93 |           u32::from_str_radix(unsafe { from_utf8_unchecked(&raw[1..3]) }, 16).unwrap(),
[INFO] [stdout]    |                                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parse/literal.rs:109:67
[INFO] [stdout]     |
[INFO] [stdout] 109 |             u32::from_str_radix(unsafe { from_utf8_unchecked(&raw[2..end_pos]) }, 16).ok()?;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parse/literal.rs:119:74
[INFO] [stdout]     |
[INFO] [stdout] 119 |           let cp = u32::from_str_radix(unsafe { from_utf8_unchecked(&raw[1..5]) }, 16).ok()?;
[INFO] [stdout]     |                                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parse/literal.rs:134:16
[INFO] [stdout]     |
[INFO] [stdout] 134 |     raw = &raw[skip..];
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parse/literal.rs:145:67
[INFO] [stdout]     |
[INFO] [stdout] 145 |   normalise_literal_string_or_template_inner(ctx, &raw.as_slice()[1..raw.len() - 1])
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::operator::OperatorName`
[INFO] [stdout]   --> src/visit.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::operator::OperatorName;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> src/parse/tests/expr/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 |   serde_json::to_value(&node).unwrap()
[INFO] [stdout]    |   ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> src/parse/tests/stmt/mod.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 |   serde_json::to_value(&node).unwrap()
[INFO] [stdout]    |   ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> src/util/test.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |           let expected: Value = serde_json::from_reader(
[INFO] [stdout]    |                                 ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]   --> src/flag.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |   pub const fn from_raw(raw: u64) -> Self {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]   --> src/flag.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |   pub const fn from_raw(raw: u64) -> Self {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parse/stmt.rs:439:9
[INFO] [stdout]     |
[INFO] [stdout] 439 |     let mut flags = (consequent.flags | end.flags).select(NODE_FLAG_UNCONDITIONAL_FLOWS);
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parse/stmt.rs:439:9
[INFO] [stdout]     |
[INFO] [stdout] 439 |     let mut flags = (consequent.flags | end.flags).select(NODE_FLAG_UNCONDITIONAL_FLOWS);
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/visit.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |   fn on_syntax_down(&mut self, node: &mut NodeData<'a>, ctl: &mut JourneyControls) -> () {}
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctl`
[INFO] [stdout]   --> src/visit.rs:27:57
[INFO] [stdout]    |
[INFO] [stdout] 27 |   fn on_syntax_down(&mut self, node: &mut NodeData<'a>, ctl: &mut JourneyControls) -> () {}
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/visit.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |   fn on_syntax_up(&mut self, node: &mut NodeData<'a>) -> () {}
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/visit.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |   fn on_syntax_down(&mut self, node: &mut NodeData<'a>, ctl: &mut JourneyControls) -> () {}
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctl`
[INFO] [stdout]   --> src/visit.rs:27:57
[INFO] [stdout]    |
[INFO] [stdout] 27 |   fn on_syntax_down(&mut self, node: &mut NodeData<'a>, ctl: &mut JourneyControls) -> () {}
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/visit.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |   fn on_syntax_up(&mut self, node: &mut NodeData<'a>) -> () {}
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] warning: methods `through_char` and `while_not_char` are never used
[INFO] [stdout]    --> src/lex/mod.rs:153:6
[INFO] [stdout]     |
[INFO] [stdout] 74  | impl<'a> Lexer<'a> {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |   fn through_char(&self, c: u8) -> SyntaxResult<'a, Match> {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |   fn while_not_char(&self, a: u8) -> Match {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]   --> src/char.rs:20:38
[INFO] [stdout]    |
[INFO] [stdout] 20 |   pub fn add_chars(&mut self, chars: RangeInclusive<u8>) -> () {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parse-js` (lib test) due to 8 previous errors; 33 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused `MaybeToken` that must be used
[INFO] [stdout]   --> src/parse/class_or_object.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 |       self.consume_if(TokenType::Semicolon)?;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |       let _ = self.consume_if(TokenType::Semicolon)?;
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `MaybeToken` that must be used
[INFO] [stdout]    --> src/parse/stmt.rs:614:5
[INFO] [stdout]     |
[INFO] [stdout] 614 |     self.consume_if(TokenType::Semicolon)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 614 |     let _ = self.consume_if(TokenType::Semicolon)?;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parse-js` (lib) due to 2 previous errors; 36 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1beae1d202bf4d31bd212325698889917296bf77687ca0241ad2ef34d8ceb666", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1beae1d202bf4d31bd212325698889917296bf77687ca0241ad2ef34d8ceb666", kill_on_drop: false }`
[INFO] [stdout] 1beae1d202bf4d31bd212325698889917296bf77687ca0241ad2ef34d8ceb666
